namespace RBAC.Write.Api.Application.Command.BomCommand
{
    using MediatR;
    using RBAC.ErrorCode;

    /// <summary>
    /// 新增 BOM 明细
    /// </summary>
    public class BomItemAddCommand : IRequest<APIResult<int>>
    {
        /// <summary>
        /// 所属 BOM Id（必填）
        /// </summary>
        public long BomId { get; set; }

        /// <summary>
        /// 父级明细Id（可选，用于层级BOM）
        /// </summary>
        public long? ParentId { get; set; }

        /// <summary>
        /// 物料Id（必填）
        /// </summary>
        public long MaterialId { get; set; }

        /// <summary>
        /// 物料名称（可选，最终以系统数据为准）
        /// </summary>
        public string? MaterialName { get; set; }

        /// <summary>
        /// 用量（必填 > 0）
        /// </summary>
        public decimal Qty { get; set; }

        /// <summary>
        /// 装配位置/顺序（可选）
        /// </summary>
        public int? Position { get; set; }

        /// <summary>
        /// 创建人（可选）
        /// </summary>
        public string? CreateUser { get; set; }
    }
}
